package com.example.usbhidtool.hid.bean

import com.google.gson.JsonObject
import com.google.gson.annotations.SerializedName

data class RecBean(
        val type: String? = null,
        val data: RecData? = null,
        val deviceId: String? = null,
)

data class RecData(
        val cmd: String? = null,
        @SerializedName("class") //todo
        val clazz: String? = null,
        val udid: String? = null,
        val istatus: String? = null,
        val bstatus: Boolean? = null,
        val msg: String? = null,  //当bstatus=false时，从这里取原因
        val type: String? = null,

        val main: Version? = null,//todo 文档没有
        val appI: Version? = null,//todo  文档没有
        val appA: Version? = null,//todo  文档没有


        val authorized: String? = null, //授权时使用
        val filename: String? = null,  //被安装的文件名
        val progress: String? = null,  //安装进度
        val info: Any? = null,
)

//版本信息实体
data class Version(
        val version: String? = null,
        val md5: String? = null
)

data class IosInfo(
        val base: IOSBase? = null,
        val iCloud: ICloud? = null,
        val Hardware: IOSHardware? = null,
        val HardwareFactory: IOSHardware? = null,
)

data class IOSBase(
        val ProductType: String? = null,//设备类型编号
        val ProductVersion: String? = null,//设备类型编号
        val ActivationState: String? = null,//激活状态
        val JailreakState: String? = null,//越狱状态
        val FiveMatch: String? = null,//五码匹配
        val CycleCount: String? = null,//CycleCount
        val BatteryLife: String? = null,//电池寿命
        val BaseBandState: String? = null,//基带状态(基带信息)
        val BaseBandVersion: String? = null,//基带版本
        val IMEI1: String? = null,
        val IMEI2: String? = null,
        val ECID: String? = null,
        val CHIP: String? = null,
        val ICCD: String? = null,
        val CardType: String? = null,//卡槽类型,这个用不到,用imei数量判断的
        val WiFiSerialNumber: String? = null,//WIFI序列号
        val BackTelecameraId: String? = null,//远距摄像头序列号,好像是后置有两个及以上才有
        val Cpuarc: String? = null,//Cpuarc
        val HardwareModel: String? = null,//HardwareModel
        val BuildVersion: String? = null,//固件版本
)

data class ICloud(
        val Bookmarks: String? = null,
        val Calendars: String? = null,
        val Contacts: String? = null,
        val Notes: String? = null,
        val CloudBackupEnabled: String? = null,
        val IDLock: String? = null,
)

//硬件参数,对照原厂值对比
data class IOSHardware(
        val ProductName: String? = null,// 硬件参数,对照原厂值对比
        val Color: String? = null,//设备颜色
        val EnclosureColor: String? = null,//设备面板颜色
        val ModelNumber: String? = null,//销售型号
        val RegModelNumber: String? = null,///监管型号
        val Region: String? = null,//销售地区
        val DiskToCapat: String? = null,//硬盘容量
        val WiFiAddress: String? = null,//WIFI地址
        val BluetoothAddress: String? = null,//蓝牙地址
        val EthernetAddress: String? = null,//蜂窝地址
        val SerialNumber: String? = null,//设备序列号
        val MLBSerialNumber: String? = null,//主板序列号
        val BatteryId: String? = null,//电池序列号
        val BackCameraId: String? = null,//后置摄像头
        val FrontCameraId: String? = null,//前置摄像头
        val FingerprintId: String? = null,//指纹id
        val LCD: String? = null,//LCD
)


data class AndroidInfo(
        val base: AndroidBase? = null,
)

data class AndroidBase(
        val model: String? = null,//设备型号,设备连接获取
        val model1: String? = null,//设备型号,设备信息中获取
        val brand: String? = null,//设备品牌(子品牌未分类,数据不够)
        val serialno: String? = null,//设备序列号
        val IMEI1: String? = null,
        val IMEI2: String? = null,
        val versions: String? = null,//安卓版本
        val discernibility: String? = null,//显示屏分辨率
        val bat_chargedstate: String? = null,//充电方式
        val bat_healthstate: String? = null,//电池寿命,2为良好
        val bluetooth_name: String? = null,//蓝牙名称,需要开启蓝牙后连接
        val bluetooth_mac: String? = null,//蓝牙地址,需要开启蓝牙后连接
        val baseband: String? = null,//基带信息
        val cardtype: String? = null,//卡槽类型,0,1,2
        val ram: String? = null,//运行内存
        val rom: String? = null,//设备容量
)


